The present invention relates to image processing systems, and more particularly, to a multifunction printer, copier, and scanners.
Increasing number of documents, pictures, and other forms of information (generically refer herein to as a “document”) are scanned, stored, printed, copied, and otherwise processed as digital format, each document represented and processed as digital image data. In addition, these documents are processed at ever-increasing resolution to capture and reproduce detailed information about the document.
To perform these operations (such as scanning, printing, and copying) many different apparatuses and systems are available in the marketplace. For example, FIG. 1 illustrates a multifunction printer (MFP) 10 designed to perform these operations. The MFP 10 includes a scan subsystem 20 for scanning documents to generate a scan image data 22 and a print subsystem 30 for printing print image data 32 on paper. The scan subsystem 20 and the print subsystem 30 are connected to a processor 40 which processes the scan image data 22 and print image data 32 as well as to control the operations of the scan subsystem 20 and the print subsystem 30. The processor 40 is also connected to a communications module 50 which manages communications of the MFP 10 with a host computer 60. Here, the connections between various components of the MFP 10 are realized using a system bus 12.
The MFP 10 can function as a scanner by scanning a document to generate a scan image data 22, processing the scan image data 22 to generate a scan data file 24, and sending the scan data file 24 to the host computer 60. The MFP 10 can function as a printing by receiving a print data file 34 from the host computer 60, processing the scan data file 34 to generate a print image data 32, and printing the print image data 32. The MFP 10 can function as a copier by first scanning a document to generate a scan image data 22, processing the scan image data 32 to generate a print image data 32, and printing the print image data 22. The scan image data 22, the print image data 32, the scan data file 24, and the print data file 34 arrives at the processor 40 as a data stream and leaves the processor 40 as a processed data stream.
For each of these operations, the processor 40 performs various operations on the image data and the data files. For example, the print data file 34 from the host computer is encoded in a page description language encoding the layout of the page described therein including, for example, fonts, text, and graphics. The processor 40 processes the print data file 34 by performing various operations, for example, font substitution, rotating, edge sharpening, and dithering. Further, the print data file 34 may include RGB (red, green, and blue) color encoding. In that case, the processor 40 needs to perform color space conversion to negative colors of cyan, magenta, yellow, and black and color reinforcement. This is because most printers utilize negative color space CMYK (cyan, magenta, yellow, and black) while most displace devices and computer files utilize positive color space (red, green, and blue).
The processor 40 performs these and other operations for each scan image data 22 and print data file 34. As the resolution of the documents increase and the speed of the scan subsystem 20 and the print subsystem 30 increases, the processor 40 is required to process increasing amounts of data. For example, if a letter size paper (8.5 inches by 11 inches) is scanned at 600 dpi (dots per inch), the total number of pixel positions is 33,660,000 (calculated as 600×600×8.5×11) for a single page of the document. For RGB color information, it is common to use 36 bits for each pixel position (12 bits for each of the three colors). Thus, a single page of color document can scan into a scan image data 22 having size of approximately 151.2 Megabytes (MB) (calculated as 33,600,000×36/8). The processor 40 needs to process this amount of data within several seconds or less.
In the current art, the processor 40 is typically implemented using a general purpose processor programmed to control the subsystems 20 and 30 as well as to process the data streams 22, 24, 32 and 34. As the scan subsystem 20, the print subsystem 30, and the communication module 50 are improved to handle the ever-increasing amounts of data at ever-increasing speeds, the processor 40 is becoming the bottleneck at which the data throughput of the entire image processing apparatus 10 is slowed.
Accordingly, there remains a need for an image processing apparatus with improved processing design allow for faster processing of various data streams.